package main;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;

import ficheros.FicherosBinarios;

import analizadorLexico.ErrorLexicoExcepcion;
import analizadorLexico.Lexico;
import analizadorLexico.Token;
import analizadorSintactico.ErrorSintacticoExcepcion;
import analizadorSintactico.Sintactico;


public class Main {
	
	public static void main(String[] args) {
		try {
			//Analizador lexico
			Lexico analizadorLexico = new Lexico("prueba7.txt");
			analizadorLexico.leeArchivo();
			ArrayList<Token> tokens = analizadorLexico.devuelveListaTokens();
			
			//Analizador sintactico
			Sintactico analizador = new Sintactico(tokens);
			
			if(analizador.analiza())
				FicherosBinarios.guardar("prueba.dat",analizador.getCod());
			
			for (int i = 0; i < analizador.getCod().size(); i ++) {
				System.out.println(analizador.getCod().get(i).toString());
			}
			
		} catch (FileNotFoundException e) {
			System.err.println(e.toString());
		} catch (IOException e) {
			System.err.println(e.toString());
		} catch (ErrorLexicoExcepcion e) {
			System.err.println(e.toString());
		} catch (ErrorSintacticoExcepcion e) {
			System.err.println(e.toString());
		}
	}

}
